﻿namespace Marc.JwOrgClient.Model {
    public abstract class Language {
        public abstract string Key { get; }
        public abstract string Name { get; }

        public static readonly  Language German = new GermanImpl();
        public static readonly  Language English = new EnglishImpl();
        public static readonly  Language Spanish = new SpanishImpl();

        private class GermanImpl : Language {
            public override string Key {
                get { return "X"; }
            }

            public override string Name {
                get { return "Deutsch"; }
            }
        }

        private class EnglishImpl : Language {
            public override string Key {
                get { return "E"; }
            }

            public override string Name {
                get { return "Englisch"; }
            }
        }

        private class SpanishImpl : Language {
            public override string Key {
                get { return "S"; }
            }

            public override string Name {
                get { return "Spanisch"; }
            }
        }
    }
}